Introduction


Dear Mr. Koeleman and KPN hiring team,

Hello and welcome to this short post where my goal is to persuade You that it is an excellent idea to consider me for the Data Visualisation position at the KPN Data Streaming Team.

A brief note on my motivation to do this. I’ve been working for the past 3 years as a data scientist in a small startup company. I’ve come to realise that the part of my work that I enjoyed doing most is data visualisation.

Since I lack the “formal” schooling in this area, I started to self-study this subject on my own time. I’ve been reading the classics like e.g. Edward Tufte’s books as well as the modern day greats in this area like e.g. Tamara Munzner. I’ve also attended courses (e.g. Dominik Bauer’s course on Interactive Data Visualisation with D3) and I applied for 2 more courses this summer (Moritz Stefaner & Federica Fragapane).

Since I don’t have any substantial portfolio to showcase what I’ve done in this field and most of the things that I’ve done in my current work are not easily showcased, I thought it will be a good idea to make a small side project directed at KPN, in order to try and get Your attention.

I hope that I can convey with this short post not just some of my skills, but also the huge motivation I have to make data visualisation a major part of my daily work. I hope you enjoy it.



How I got the data


My maint tool of choice is the (statistical) programming language R. I used the rtweet package to collect twitter data from a couple of accounts connected to KPN: KPN, KPN Webcare, KPN zakelijk, KPN Mooiste Contact Fonds.

The data was processed and transformed in R and saved in different formats for the different visualisation tools (R likes .rds, D3 likes .json). I’ve also put a documented script for this part in my public github repo in case You would like to see the details.

Lastly, I wrote this document in Rmarkdown and made a web-page out of it with the help of blogdown. That way I could do all the work using just one tool, which lessens the mental burden of switching contexts.



Top 20 hashtags that appear next to #KPN


As a first thing, I was interested in looking at which hashtags appear mostly together with #KPN.


As a starting point I made this simple static plot in R which shows the top 20 hashtags.





Improving on the previous static version, I implemented the same plot in D3 and added a bit of dynamic to the moving bars.







Wishlist: In it’s current form it does not convey anything more than the R plot and it this sense I would prefer to keep it as a static plot. However with a bit more work it could be made even more interactive - for example when the user clicks on a bar, a random tweet containing that hashtag could be displayed in a side window.



Map of tweets


The obtained twitter data contains geo-information for a small portion of the harvested tweets. Next we are interested in where do the twitter users come from and what do they say?
For this map visualisation I used R and leaflet with OpenStreetMaps tiles and twitter pins from AwesomeMarkers. When the user hovers over a twitter pin on the map, the screen name of the person who sent out that tweet appears. When clicked - the pin displays the contents of the tweet.






Retweet network


Lastly I wanted to visualise the retweet relationships within the data (each tweet provides some meta-info on whether it is a retweet and if yes, which users are being retweeted).
To this end I considered 2 options - a force directed graph and a chord diagram.
I went with the force directed graph as a way to visualise this network of retweets because it offered more interactivity:

(Warning: Will probably slow down your browser - please have patience shortly. thank you!)







Thank You for taking the time to go through my project. I hope you liked this short walk through some of the aspects of KPN’s twitter presence. It was a fun project to do and there are many things which I would like to revisit and improve on in the following weeks.

If you liked it and would like to consider me for the Data Vizualisation role, I would be very happy to hear from You. You can find my contact details on my CV.


Wish you a nice day,
David